import axios from "axios";
import Cookie from "js-cookie";

// 封装一个axios实例
const http = axios.create({
    // 通用请求的地址前缀
    baseURL: 'http://127.0.0.1:11143',
    // 超时时间
    timeout: 100000
})

// 请求拦截器
http.interceptors.request.use(function (config) {
    console.log(config)
    if(config.url && config.url.includes('login')){
        return config
    }
    // 在发送请求之前做什么
    let token = window.localStorage.getItem("token")
    if (token) {
        //将token放到请求头发送给服务器,将tokenkey放在请求头中
        config.headers.token = token;
        //也可以这种写法
        // config.headers['accessToken'] = Token;
         return config;
    }
}, function (error) {
    // 对请求错误做什么
    return Promise.reject(error);
})

// 添加响应拦截器
// http.interceptors.response.use(function (response) {
//     // 对响应数据做什么
//     return response;
// }, function (error) {
//     // 对响应错误做什么
//     return Promise.reject(error);
// })
http.interceptors.response.use(function (response) {
    // 对响应数据做处理
    return response;
}, function (error) {
    // 对响应错误做处理
    if (error.response && error.response.status === 401) {
        // 返回状态码为401，跳转到登录页面
        Cookie.remove("token");
        window.location.href = '/login';
    }
    return Promise.reject(error);
});

export default http
